package com.nowcoder.Offer.Hash;

import org.junit.Test;

/**
 * 在一个字符串(0<=字符串长度<=10000，全部由字母组成)中找到第一个只出现一次的字符
 */
public class FindTheFirstNotRepeatChar {

    private int[] hash = new int[256];

    public int FirstNotRepeatingChar(String str) {
        if(str == null || str.length() == 0) return 0;
        if(str.length() == 1) return str.charAt(0);
        for(char c : str.toCharArray()){
            hash[c-'0']++;
        }

        for(int i=0 ;i < str.length(); i++){
            if(hash[str.charAt(i) - '0'] == 1) return i;
        }

        return -1;
    }

    @Test
    public void test(){
        String str = "NXWtnzyoHoBhUJaPauJaAitLWNMlkKwDYbbigdMMaYfkVPhGZcrEwp";

        System.out.println(FirstNotRepeatingChar(str));
    }
}
